<?php

namespace App\Utils;

/**
 * Ai返回结果处理类
 */
class AiReturnHelper
{
    /**
     * Qwen3Ai 从 AI 流式返回的 JSON chunk 中提取文本内容
     * @param $stream
     * @return string 返回完整文本
     */
    function Qwen3AiContent( $stream): string
    {
        $lines = explode("\n", $stream); // 按行分割
        $text = '';
        foreach ($lines as $line) {
            $line = trim($line);
            // 跳过空行或非 data 行
            if ($line === '' || !str_starts_with($line, 'data:')) {
                continue;
            }
            $payload = trim(substr($line, 5)); // 去掉 "data:"

            // 遇到 [DONE] 表示结束
            if ($payload === '[DONE]') {
                break;
            }

            // 尝试解析 JSON
            $json = json_decode($payload, true);
            if ($json && isset($json['choices'][0]['delta']['content'])) {
                $text .= $json['choices'][0]['delta']['content'];
            }
        }

        return $text;
    }

}